# -*- coding: utf-8 -*-
# @Time : 2023/12/10 22:52
# @Author : Lpb
# @File : pro3.py
# 题目 1: 添加键值对
# 描述： 编写一个函数，它接受一个字典和一个键值对(key, value)，将键值对添加到字典中，如果键已存在则更新其值。
def add_or_update_key(dic, key, value):
    dic[key] = value


my_dict = {'a': 1, 'b': 2}
print(my_dict)

# 题目 2: 删除键值对
# 描述： 编写一个函数，它接受一个字典和一个键，从字典中删除该键及其对应的值。
def remove_key(dic, key):
    dic.pop(key, None)


my_dict = {'a': 1, 'b': 2, 'c': 3}
remove_key(my_dict, 'b')
print(my_dict)

# 题目 3: 获取键的值
# 描述： 编写一个函数，它接受一个字典和一个键，返回这个键对应的值。如果键不存在，则返回None。
def get_value(dic, key):  # 你的代码将写在这里
    return dic.get(key, None)


my_dict = {'a': 1, 'b': 2, 'c': 3}
value_a = get_value(my_dict, 'a')
value_d = get_value(my_dict, 'd')

print(value_a)
print(value_d)

# 题目 4: 合并两个字典
# 描述： 编写一个函数，它接受两个字典，将它们合并为一个新的字典并返回。如果有相同的键，第二个字典的键值对将覆盖第一个字典的键值对。
def merge_dictionaries(dic1, dic2):  # 你的代码将写在这里
    dic1.update(dic2)
    return dic1


dicta = {'a': 1, 'b': 2}
dictb = {'c': 3, 'd': 4}

dict11 = merge_dictionaries(dicta, dictb)

print(dict11)

# 题目 5: 键存在检查
# 描述： 编写一个函数，它接受一个字典和一个键，检查这个键是否存在于字典中。函数应返回一个布尔值。
def key_exists(dic, key):  # 你的代码将写在这里
    return key in dic


dict1 = {'apple': 5, 'banana': 8, 'orange': 3}
check = 'banana'

result = key_exists(dict1, check)
print(result)
